<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <link rel="icon" href="/img/favicon.ico" type="image/x-icon">
    <title>{{ .title }}</title>
    <style type="">
        * {
            margin: 0;
            padding: 0;
        }

        .tp-content {
            width: 80%;
            max-width: 650px;
            background: rgba(0, 0, 0, .1);
            border-radius: 10px;
            box-shadow: -2px -2px 2px rgba(255, 255, 255, 1), -2px -2px 12px rgba(255, 255, 255, 0.5), inset 2px 2px 4px rgba(255, 255, 255, 0.1), 2px 2px 8px rgba(0, 0, 0, 0.15);
            position: fixed;
            left: 0;
            top: 30%;
            right: 0;
            margin: 0 auto;
            padding: 15px;
            box-sizing: border-box;
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
        }

        .tp-content:hover {
            box-shadow: -2px -2px 4px rgba(255, 255, 255, 1), -2px -2px 14px rgba(255, 255, 255, 0.7), inset 2px 2px 6px rgba(255, 255, 255, 0.3), 2px 2px 10px rgba(0, 0, 0, 0.25);
        }

        .tp-content a {
            width: 70%;
            background: rgba(0, 68, 255, 0.1);
            color: #fff;
            font-size: 16px;
            line-height: 30px;
            text-align: center;
            text-decoration: none;
            margin: 15px 2%;
            border: 1px solid rgba(0, 0, 0, .4);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .tp-content a:hover {
            transition: all .3s;
            border-radius: 0;
            border-color: rgba(0, 0, 0, .9);
            background: rgba(144, 0, 255, .4);
        }

        .tp-content a img {
            width: 25px;
            height: 25px;
            margin-right: 6px;
            transform-origin: 50% 0;
            animation: yaolingdang 3s infinite ease;
        }

        @media screen and (max-width: 1200px) {
            .tp-content a {
                width: 40%;
                margin: 15px 5%;
            }
        }

        @media screen and (max-width: 980px) {
            .tp-content a {
                width: 40%;
            }
        }

        @media screen and (max-width: 650px) {
            .tp-content a {
                width: 80%;
            }
        }

        .copyright {
            width: 100%;
            position: fixed;
            bottom: 0;
            width: 100%;
            text-align: center;
            font-size: 12px;
            color: #fff;
            line-height: 20px;
        }

        @keyframes yaolingdang {
            5%, 25%, 45% {
                transform: rotate(8deg);
            }
            0%, 10%, 30%, 50% {
                transform: rotate(-8deg);
            }
            15%, 35%, 55% {
                transform: rotate(4deg);
            }
            20%, 40%, 60% {
                transform: rotate(-4deg);
            }
            65%, 100% {
                transform: rotate(0deg);
            }
        }
    </style>
</head>
<body>
<div class="tp-content">
    <a href="{{ .url }}" target="_blank"><img src="/img/icon-4.png" alt=""/>{{ .title }}</a>
</div>
</body>
<script type="text/javascript" src="img/ThreeWebGL.js"></script>
<script type="text/javascript" src="img/ThreeExtras.js"></script>
<script type="text/javascript" src="img/Detector.js"></script>
<script type="text/javascript" src="img/RequestAnimationFrame.js"></script>
<script id="vs" type="x-shader/x-vertex">
    varying vec2 vUv;
    void main() {
        vUv = uv;
        gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
    }


</script>
<script id="fs" type="x-shader/x-fragment">
    uniform sampler2D map;
    uniform vec3 fogColor;
    uniform float fogNear;
    uniform float fogFar;
    varying vec2 vUv;
    void main() {
        float depth = gl_FragCoord.z / gl_FragCoord.w;
        float fogFactor = smoothstep(fogNear, fogFar, depth);
        gl_FragColor = texture2D(map, vUv);
        gl_FragColor.w *= pow(gl_FragCoord.z, 20.0);
        gl_FragColor = mix(gl_FragColor, vec4(fogColor, gl_FragColor.w), fogFactor);
    }


</script>
<script type="text/javascript">
    if (!Detector.webgl) Detector.addGetWebGLMessage();
    var canvas = document.createElement('canvas');
    canvas.width = 32;
    canvas.height = window.innerHeight;
    var context = canvas.getContext('2d');
    var gradient = context.createLinearGradient(0, 0, 0, canvas.height);
    gradient.addColorStop(0, "#1e4877");
    gradient.addColorStop(0.5, "#4584b4");
    context.fillStyle = gradient;
    context.fillRect(0, 0, canvas.width, canvas.height);
    document.body.style.background = 'url(' + canvas.toDataURL('image/png') + ')';
    var container;
    var camera, scene, renderer, sky, mesh, geometry, material, i, h, color, colors = [],
        sprite, size, x, y, z;
    var mouseX = 0,
        mouseY = 0;
    var start_time = new Date().getTime();
    var windowHalfX = window.innerWidth / 2;
    var windowHalfY = window.innerHeight / 2;
    init();
    animate();

    function init() {
        container = document.createElement('div');
        document.body.appendChild(container);
        camera = new THREE.Camera(30, window.innerWidth / window.innerHeight, 1, 3000);
        camera.position.z = 6000;
        scene = new THREE.Scene();
        geometry = new THREE.Geometry();
        var texture = THREE.ImageUtils.loadTexture('');
        texture.magFilter = THREE.LinearMipMapLinearFilter;
        texture.minFilter = THREE.LinearMipMapLinearFilter;
        var fog = new THREE.Fog(0x4584b4, -100, 3000);
        material = new THREE.MeshShaderMaterial({
            uniforms: {
                "map": {
                    type: "t",
                    value: 2,
                    texture: texture
                },
                "fogColor": {
                    type: "c",
                    value: fog.color
                },
                "fogNear": {
                    type: "f",
                    value: fog.near
                },
                "fogFar": {
                    type: "f",
                    value: fog.far
                },
            },
            vertexShader: document.getElementById('vs').textContent,
            fragmentShader: document.getElementById('fs').textContent,
            depthTest: false
        });
        var plane = new THREE.Mesh(new THREE.Plane(64, 64));
        for (i = 0; i < 8000; i++) {
            plane.position.x = Math.random() * 1000 - 500;
            plane.position.y = -Math.random() * Math.random() * 200 - 15;
            plane.position.z = i;
            plane.rotation.z = Math.random() * Math.PI;
            plane.scale.x = plane.scale.y = Math.random() * Math.random() * 1.5 + 0.5;
            GeometryUtils.merge(geometry, plane)
        }
        mesh = new THREE.Mesh(geometry, material);
        scene.addObject(mesh);
        mesh = new THREE.Mesh(geometry, material);
        mesh.position.z = -8000;
        scene.addObject(mesh);
        renderer = new THREE.WebGLRenderer({
            antialias: false
        });
        renderer.setSize(window.innerWidth, window.innerHeight);
        container.appendChild(renderer.domElement);
        document.addEventListener('mousemove', onDocumentMouseMove, false);
        window.addEventListener('resize', onWindowResize, false)
    }

    function onDocumentMouseMove(event) {
        mouseX = (event.clientX - windowHalfX) * 0.25;
        mouseY = (event.clientY - windowHalfY) * 0.15
    }

    function onWindowResize(event) {
        camera.aspect = window.innerWidth / window.innerHeight;
        camera.updateProjectionMatrix();
        renderer.setSize(window.innerWidth, window.innerHeight)
    }

    function animate() {
        requestAnimationFrame(animate);
        render()
    }

    function render() {
        position = ((new Date().getTime() - start_time) * 0.03) % 8000;
        camera.position.x += (mouseX - camera.target.position.x) * 0.01;
        camera.position.y += (-mouseY - camera.target.position.y) * 0.01;
        camera.position.z = -position + 8000;
        camera.target.position.x = camera.position.x;
        camera.target.position.y = camera.position.y;
        camera.target.position.z = camera.position.z - 1000;
        renderer.render(scene, camera)
    }
</script>
</html>

